﻿namespace MicroCloud.Utils
{
    /// <summary>
    /// 数据列架构
    /// </summary>
    public class DataColumnSchema
    {
        /// <summary>
        /// 获取或设置 列名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 获取或设置 列显示名称
        /// </summary>
        public string Display { get; set; }

        /// <summary>
        /// 获取或设置 列数据类型
        /// </summary>
        public Type DataType { get; set; }

        /// <summary>
        /// 获取 列数据类型名称
        /// </summary>
        public string DataTypeName => DataType?.FullName;

    }

    /// <summary>
    /// 数据表架构
    /// </summary>
    public class DataTableSchema
    {
        /// <summary>
        /// 获取或设置 表名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 获取或设置 数据列架构集合
        /// </summary>
        public IList<DataColumnSchema> Columns { get; set; } = new List<DataColumnSchema>();

    }

    /// <summary>
    /// 数据集架构
    /// </summary>
    public class DataSetSchema
    {
        /// <summary>
        /// 获取或设置 名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 获取或设置 数据表架构集合
        /// </summary>
        public IList<DataTableSchema> Tables { get; set; } = new List<DataTableSchema>();

    }
}
